package com.example.zhaohang.bingzhuangtu;

import android.animation.Animator;
import android.animation.ObjectAnimator;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.widget.ImageView;
import android.widget.TextView;

import com.example.zhaohang.adapter.SplashAnimator;
import com.example.zhaohang.mvp.prsenter.SplashPresentImp;
import com.example.zhaohang.mvp.prsenter.SplashPrsent;
import com.example.zhaohang.mvp.view.SplashView;
import com.example.zhaohang.utils.ToastMake;

import butterknife.ButterKnife;
import butterknife.InjectView;

public class SplashActivity extends BaseActivity implements SplashView{

    @InjectView(R.id.splash_imageview)
    ImageView splashImageview;
    private SplashPrsent splashPrsent;
    private TextView mTextView;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_splash);
        ButterKnife.inject(this);
        mTextView = (TextView) findViewById(R.id.splash_text);

        //创建业务逻辑层，制造关联
        splashPrsent = new SplashPresentImp(this);

        //实现关联，也就是调用本类中的checkIsLongin方法
        splashPrsent.onCheckLogin();

        /**
         * 1.判断是否已经登录过
         *
         * 2，如果已经登录过，那么直接跳转到Activity界面
         * 3，如果没有登录则显示2秒闪屏界面，直接跳转到登录
         */


        ObjectAnimator animator = ObjectAnimator.ofFloat(splashImageview, "alpha", 0, 1).setDuration(2000);
        animator.start();
        animator.addListener(new SplashAnimator() {
             @Override
             public void onAnimationEnd(Animator animation) {
                 super.onAnimationEnd(animation);
                 //动画结束后跳转到登录界面
                 StartActivity(FirstActivity.class,true);
             }
        }




        );


        //获取版本号码
        initData();






    }

    private void initData() {

        //用包管理器去获取
        PackageManager manager = getPackageManager();
        try {
            PackageInfo packageInfo = manager.getPackageInfo(getPackageName(), 0);

            String name = packageInfo.versionName;

            mTextView.setText("精简版"+name);

        } catch (PackageManager.NameNotFoundException e) {
          //  e.printStackTrace();

//            当获取不到时,显示未知
            mTextView.setText("未知版本号");
        }

        //自动更新操作
        AutoUpDate();



    }

    private void AutoUpDate() {
        //1访问服务器获取json数据
        //2进行版本号对比
        //3弹出提示框进行提示
        //4是否更新
        //5下载完成
        //6提示安装
        //7安装完成
        // 01. 定义okhttp

        final String url = "http://192.168.14.66:8080/update17.txt";


//        //网络请求切换到子线程中
//        ThreadUtils.runOnSubThread(new Runnable() {
//            @Override
//            public void run() {
//
//                OkHttpClient okHttpClient_get = new OkHttpClient();
//                // 02.请求体
//                Request request = new Request.Builder()
//                        .get()//get请求方式
//                        .url(url)//网址
//                        .build();

                // 03.执行okhttp
//                if (true) {
//
//                    // 3.弹出提示框进行提示
//
//
//                    initDialog();
//
//
//                } else {
//                    // 进入主界面
//                    enterHome();
//
//                }


                //
                //
                //
                //
                //                try {
                //
                //                    Response response = okHttpClient_get.newCall(request).execute();
                //
                //                    String json = response.body().string();
                //
                //                    //网络请求只能拿一次,留的获取只能是一次.
                //                    JSONObject jsonObject = new JSONObject(json);
                //                    int remoteVersion = jsonObject.getInt("remoteVersion");
                //                    String apkUrl = jsonObject.getString("apkurl");
                //                    String desc = jsonObject.getString("desc");
                //
                //
                //
                //
                //
                //                  //  if (remoteVersion > versionCode) {
                ////                        if (true) {
                ////
                ////                                // 3.弹出提示框进行提示
                ////
                ////                            ThreadUtils.runOnUIThread(new Runnable() {
                ////                                @Override
                ////                                public void run() {
                ////                                    initDialog();
                ////                                }
                ////                            });
                ////
                ////
                ////                    } else {
                ////                        // 进入主界面
                ////                        enterHome();
                ////
                ////                    }
                //
                //                } catch (IOException e) {
                //
                //                    e.printStackTrace();
                //                }catch (JSONException e) {
                //                    //json解析异常
                //                    e.printStackTrace();
                //                }
                //
                //
                //            }
                //        });
                //
                //

    }

//    //弹出对话框
//    private void initDialog() {
//        AlertDialog.Builder buidler = new AlertDialog.Builder(SplashActivity.this);
//        buidler.setTitle("是否进行更新");
//        buidler.setMessage(">>>1,这里修复新的bug"+"\n"+"2.添加摇一摇功能"+"\n"+"3.优化了搜索功能");
//        buidler.setPositiveButton("立刻升级", new DialogInterface.OnClickListener() {
//            @Override
//            public void onClick(DialogInterface dialog, int which) {
//
//            }
//        });
//        buidler.show();
//    }

    private void enterHome() {

        StartActivity(LoginActivity.class,true);

    }

    @Override
    public void checkIsLongin(boolean isLongin) {
        if (isLongin==true){
            ToastMake.showToast("第一次打开APP或者尚未过登录APP，正在完成首次使用跳转");
        }

    }
}
